package com.realdolmen.whiteyellowcross.service;

import java.util.List;

import com.realdolmen.whiteyellowcross.datastore.PersonelDataStore;
import com.realdolmen.whiteyellowcross.model.Personel;

public class PersonelPersistenceBasedService implements PersonelService {

	private PersonelDataStore personelDataStore = null;

	private static PersonelService personelService;

	private PersonelPersistenceBasedService(PersonelDataStore personelDataStore) {
		this.personelDataStore = personelDataStore;
	}

	public static PersonelService getInstance(
			PersonelDataStore personelDataStore) {
		if (personelService == null) {
			synchronized (PersonelPersistenceBasedService.class) {

				if (personelService == null) {
					personelService = new PersonelPersistenceBasedService(
							personelDataStore);

				}
			}
		}
		return personelService;
	}

	@Override
	public void addPersonel(String name) {
		personelDataStore.addPersonel(name);
	}

	@Override
	public List<Personel> getPersonelList() {
		return personelDataStore.getPersonelList();
	}

	@Override
	public Personel getPersonel(String name) {
		return personelDataStore.getPersonel(name);
	}

	@Override
	public void deletePerson(String name) {
		personelDataStore.deletePerson(name);
	}

	@Override
	public int getTotalPersonel() {
		return personelDataStore.getTotalPersonel();
	}

	public PersonelDataStore getPersonelDataStore() {
		return personelDataStore;
	}

	public void setPersonelDataStore(PersonelDataStore personelDataStore) {
		this.personelDataStore = personelDataStore;
	}

}
